package org.smart4j.framework.common.util;

/**
 * 类型转换工具类
 *
 * @author YooLin1c
 * @version 1.0.0
 * @since 2018-01-30 20:32
 */
public class CastUtil {

    /**
     * Object->long
     *
     * @param source 原值
     * @return 转换后的值
     */
    public static long castLong(Object source) {
        return Long.valueOf(String.valueOf(source));
    }

    /**
     * Object->String
     *
     * @param source 原值
     * @return 转换后的值
     */
    public static String castString(Object source) {
        return String.valueOf(String.valueOf(source));
    }

    /**
     * Object->double
     *
     * @param source 原值
     * @return 转换后的值
     */
    public static double castDouble(Object source) {
        return Double.valueOf(castString(source));
    }

    /**
     * Object->int
     *
     * @param source 原值
     * @return 转换后的值
     */
    public static int castInt(Object source) {
        return Integer.valueOf(castString(source));
    }

    /**
     * Object->boolean
     *
     * @param source 原值
     * @return 转换后的值
     */
    public static boolean castBoolean(Object source) {
        return Boolean.valueOf(castString(source));
    }
}
